package com.bzsg.rightsManagementSystem.service

import com.bzsg.rightsManagementSystem.pojo.Role




interface RoleService {
    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    fun queryById(id: Int): Role?

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    fun queryAllByLimit(offset: Int, limit: Int): List<Role>?

    /**
     * 查询多条数据
     *
     * @param newRole 查询角色
     * @return 对象列表
     */
    fun queryAll(): List<Role>?

    /**
     * 新增数据
     *
     * @param newRole 实例对象
     * @return 实例对象
     */
    fun insert(newRole: Role)

    /**
     * 修改数据
     *
     * @param newRole 实例对象
     * @return 实例对象
     */
    fun update(newRole: Role)

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    fun deleteById(id: Int)

    /**
     * selectRolesByUserId
     *
     * @param userId 主键
     * @return 角色列表
     */
    fun selectRolesByUserId(userId: Int): List<Role>?

    /**
     * 系统角色数目
     *
     * @return 系统角色数量
     */
    fun selectTotalRole(): Int
    fun addRolePermissionRelation(roleId: Int, permissionId: Int)
    fun deleteAllRolePermissionRelationByRoleId(roleId: Int)
}